A* Explorer has a powerful feature called breakpoints. A breakpoint can either be a specific point or a condition which will cause A* Explorer to stop executing the A*. This is useful if you want to monitor a certain point to see when the A* algorithm uses it, or when (for example) the algorithm must propagate changes backward from a node on the closed list!
Setting a breakpoint is very easy, simple double right-click on your map to set a breakpoint. For example, if you double-right click at (8,2) and hit the "Run To Breakpoint" icon, if the A* uses (8,2) this message will appear:
The A* tree view will then jump to (8,2) showing you exactly what has happened. From there, you can run until (8,2) is hit again (Run To Breakpoint), step through the algorithm (Step A*) or complete pathing (Run A*). You may change the position of the breakpoint at any point.
If you want to turn a breakpoint off, select "Pathing, Debug Setup" and deselect ""Breakpoint".
To set a break condition, simply select the condition you wish from "Pathing, Debug Setup". The conditions are:
Menu Item |
Meaning |
New Child Added |
Triggers when a new child is added. |
Open List Added |
Triggers when a child that was found on the Open List is added |
Closed List Added |
Triggers when a child that was found on the Closed List is added |
Open List with Update |
Triggers when a child that was found on the Open List and updates its parent node is added |
Closed List with Update |
Triggers when a child that was found on the Closed List and updates its parent node is added |
If a condition is met, A* Explorer will display:
Remember, that an entire iteration is performed, therefore it is feasible that the condition occurs several times in one iteration (unlike a breakpoint). Therefore, when a breaking condition is met and the tree view jumps to the node there may be other nodes that satisfy the condition.
Tip: Both a breakpoint and a breaking condition can be specified.
Copyright ©, J.Matthews 2001-2002